#ifndef APP_H
#define APP_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "drv_can0.h"

#define HEK1016_RX_ID_01 0x104
#define HEK1016_RX_ID_02 0x105
#define HEK1016_RX_ID_03 0x106
#define HEK1016_RX_ID_04 0x107


#define HEK1016_TX_ID_F01 0x204
#define HEK1016_TX_ID_F02 0x205
#define HEK1016_TX_ID_F03 0x206
#define HEK1016_TX_ID_F04 0x207

#define HEK1016_TX_ID_S01 0x304
#define HEK1016_TX_ID_S02 0x305
#define HEK1016_TX_ID_S03 0x306
#define HEK1016_TX_ID_S04 0x307

extern void app_can0_rx(CAN_DATA_FORMAT_T data);
extern void app_can1_rx(CAN_DATA_FORMAT_T data);

extern void app_rs485_rx(uint8_t data);
extern void store_pwmi_calibration_param(void);


/**
 * @brief can0 注册接收ID,函数名是固定的，不要更改
 */
extern void app_can0_register_id(void);
/**
 * @brief can1 注册接收ID,函数名是固定的，不要更改
 */
extern void app_can1_register_id(void);

extern void led_ctrl(void);
extern void app_run(void);
extern void load_pwmi_calibration_param(void);

void App_tick(uint32_t tick);
#endif
